package com.jiayang.hhotel.presenter;

import com.jiayang.hhotel.R;
import com.jiayang.hhotel.bean.AuditListModel;
import com.jiayang.hhotel.bean.Constant;
import com.jiayang.hhotel.fragment.AuditTabFragment;
import com.jiayang.hhotel.net.Api;
import com.jiayang.hhotel.util.LogUtil;
import com.jiayang.hhotel.util.ToastUtil;

import cn.droidlover.xdroidmvp.mvp.XPresent;
import cn.droidlover.xdroidmvp.net.ApiSubscriber;
import cn.droidlover.xdroidmvp.net.NetError;
import cn.droidlover.xdroidmvp.net.XApi;

/**
 * Created by Administrator on 2017/5/23 0023.
 * 查账子页面逻辑控制类
 */

public class AuditItemPresenter extends XPresent<AuditTabFragment> {

    /**
     * 获取结账列表
     * @param mpLanguage 语言
     * @param mpOperation --0当前、1-历史
     * @param mpGstacct 客户账号（个人 团队都用这个）
     * @param mpType //--1-我的明细、2-我的小计、3-团员小计、4-团会公账明细、5-团会公账合计
     */
    public void asyncListLoad(int mpLanguage, int mpOperation, long mpGstacct, final int mpType){
        Api.getHomeSer().audit(Constant.PHONE,mpLanguage,mpOperation,mpGstacct,mpType)
                .compose(XApi.<AuditListModel>getApiTransformer())
                .compose(XApi.<AuditListModel>getScheduler())
                .compose(getV().<AuditListModel>bindToLifecycle())
                .subscribe(new ApiSubscriber<AuditListModel>() {
                    @Override
                    protected void onFail(NetError error) {
                        getV().sealPic(error.getType());
                    }

                    @Override
                    public void onNext(AuditListModel Model) {
                        LogUtil.showLog("查账数据类="+Model.toString());
                        switch (Model.getState()) {
                            case 9://请求成功
                                getV().setAdapter(Model.getPTransDetailListDtos());
                                break;
                            case -1://失败
                                getV().sealPic(-1);
                                break;
                            case 1002://没有数据
                                getV().sealPic(1002);
                                break;
                        }
                    }
                });
    }

}
